define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'check/index' + location.search,
                    add_url: 'check/add',
                    edit_url: 'check/edit',
                    del_url: 'check/del',
                    multi_url: 'check/multi',
                    import_url: 'check/import',
                    table: 'check',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                fixedColumns: true,
                fixedRightNumber: 1,
                commonSearch: false,
                visible :false,
                showToggle: false,
                showColumn:false,
                search: false,
                showExport:false,
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'title', title: __('Title'), align:'left', formatter: Controller.api.formatter.title},
                        {field: 'pid', title: __('Pid')},
                        {field: 'is_scan_switch', title: __('Is_scan_switch'), searchList: {"1":__('Is_scan_switch 1'),"0":__('Is_scan_switch 0')}, table: table, formatter: Table.api.formatter.toggle},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate
                            ,buttons: [
                                {
                                    // 练习题设置（没有是新增，有是修改）
                                    name: 'add_check', //唯一标识、权限标识
                                    text: '添加下级巡检项', //按钮显示的文字，支持function
                                    title: '添加下级巡检项', // 窗口显示的文字，支持function
                                    classname: 'btn btn-success btn-edit btn-xs btn-dialog', //按钮的class，支持btn-dialog/btn-ajax/btn-addtabs
                                    icon: 'fa fa-plus', //按钮的图标
                                    url: 'check/add_child_check', //按钮的链接，支持使用{字段名}来占位替换，支持function
                                    refresh: true, //操作完成后是否刷新列表
                                    visible: function(row){
                                        // return true;
                                        if (row.pid ===0) {
                                            return true;
                                        }
                                        return false;
                                    }, //判断按钮是否可见，支持function
                                    extend: '', //扩展的扩展属性，FastAdmin1.4.0+支持function
                                },{
                                    // 练习题设置（没有是新增，有是修改）
                                    name: 'edit_check', //唯一标识、权限标识
                                    text: '修改', //按钮显示的文字，支持function
                                    title: '修改', // 窗口显示的文字，支持function
                                    classname: 'btn btn-success btn-edit btn-xs btn-dialog', //按钮的class，支持btn-dialog/btn-ajax/btn-addtabs
                                    icon: 'fa fa-pencil', //按钮的图标
                                    url: 'check/edit_child_check', //按钮的链接，支持使用{字段名}来占位替换，支持function
                                    refresh: true, //操作完成后是否刷新列表
                                    visible: function(row){
                                        // return true;
                                        if (row.pid !==0) {
                                            return true;
                                        }
                                        return false;
                                    }, //判断按钮是否可见，支持function
                                    extend: '', //扩展的扩展属性，FastAdmin1.4.0+支持function
                                },{
                                    // 练习题设置（没有是新增，有是修改）
                                    name: 'edit_parent', //唯一标识、权限标识
                                    text: '修改', //按钮显示的文字，支持function
                                    title: '修改', // 窗口显示的文字，支持function
                                    classname: 'btn btn-success btn-edit btn-xs btn-dialog', //按钮的class，支持btn-dialog/btn-ajax/btn-addtabs
                                    icon: 'fa fa-pencil', //按钮的图标
                                    url: 'check/edit', //按钮的链接，支持使用{字段名}来占位替换，支持function
                                    refresh: true, //操作完成后是否刷新列表
                                    visible: function(row){
                                        // return true;
                                        if (row.pid ===0) {
                                            return true;
                                        }
                                        return false;
                                    }, //判断按钮是否可见，支持function
                                    extend: '', //扩展的扩展属性，FastAdmin1.4.0+支持function
                                },{
                                    // 练习题设置（没有是新增，有是修改）
                                    name: 'set_child_input', //唯一标识、权限标识
                                    text: '设置检查记录表', //按钮显示的文字，支持function
                                    title: '设置检查记录表', // 窗口显示的文字，支持function
                                    classname: 'btn btn-success btn-edit btn-xs btn-dialog', //按钮的class，支持btn-dialog/btn-ajax/btn-addtabs
                                    icon: 'fa fa-pencil', //按钮的图标
                                    url: 'check_input/add', //按钮的链接，支持使用{字段名}来占位替换，支持function
                                    refresh: true, //操作完成后是否刷新列表
                                    visible: function(row){
                                        // return true;
                                        if (row.pid !==0) {
                                            return true;
                                        }
                                        return false;
                                    }, //判断按钮是否可见，支持function
                                    extend: '', //扩展的扩展属性，FastAdmin1.4.0+支持function
                                },
                            ]
                        }
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        add_child_check: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            formatter: {
                title: function (value, row, index) {
                    value = value.toString().replace(/(&|&amp;)nbsp;/g, '&nbsp;');
                    return !row.ismenu || row.status == 'hidden' ? "<span class='text-muted'>" + value + "</span>" : value;
                },
                name: function (value, row, index) {
                    return !row.ismenu || row.status == 'hidden' ? "<span class='text-muted'>" + value + "</span>" : value;
                },
                icon: function (value, row, index) {
                    return '<span class="' + (!row.ismenu || row.status == 'hidden' ? 'text-muted' : '') + '"><i class="' + value + '"></i></span>';
                },
                subnode: function (value, row, index) {
                    return '<a href="javascript:;" data-toggle="tooltip" title="' + __('Toggle sub menu') + '" data-id="' + row.id + '" data-pid="' + row.pid + '" class="btn btn-xs '
                        + (row.haschild == 1 || row.ismenu == 1 ? 'btn-success' : 'btn-default disabled') + ' btn-node-sub"><i class="fa fa-sitemap"></i></a>';
                }
            },
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});
